package com.sq.partner.manager.service;
import java.io.InputStream;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpSession;

import com.sq.partner.manager.common.Result;
import com.sq.partner.manager.mybatis.model.CarPushDataQuery;
import com.sq.partner.manager.mybatis.model.CoreDept;
import com.sq.partner.manager.mybatis.model.GatewayChannelInfo;
import com.sq.partner.manager.mybatis.model.GatewayUser;
import com.sq.partner.manager.mybatis.model.TradAgentInfo;
import com.sq.partner.manager.mybatis.model.TradAgentInfoRela;
import com.sq.partner.manager.util.Page;

public interface CarPushDataQueryService {
	
	/***
	 * 推送数据查询
	 */
	List<CarPushDataQuery> pushDataQuery (String carVin) throws Exception;
	/***
	 * 新增或修改代理信息*/
	Result saveAgentMtInfo(String flag,GatewayUser user,TradAgentInfo agentInfo,String jqMax,String jqMin,String syMax,String syMin)throws Exception;
	/***
	 * 批量导入代理信息
	 * @param inputStream
	 * @param user
	 * @param agentType
	 * @param session
	 * @throws Exception
	 */
	void  batchImportAgents (InputStream inputStream,HttpSession session,GatewayUser user) throws Exception;
	/**
	 * 查询车险代理信息
	 * @param page
	 * @return
	 * @throws Exception
	 */
	Page<TradAgentInfo> queryCarAgentPage(Page<TradAgentInfo> page)throws Exception;
	List<TradAgentInfoRela> queryCarAgentRelaInfo(TradAgentInfoRela agentInfoRela)throws Exception;
	/***
	 * 机构查询
	 * @param page
	 * @param departmentStr
	 * @return
	 * @throws Exception
	 */
	Page<CoreDept> queryCoreDeptForCar(Page<CoreDept> page,String departmentStr)throws Exception;
	/***
	 * 查询内部车加意代理信息
	 * @param map
	 * @return
	 * @throws Exception
	 */
	List<TradAgentInfo> queryTradAgentInfo(TradAgentInfo agentInfo)throws Exception;
	
	/***
	 * 查询内部车加意代理信息
	 * @param map
	 * @return
	 * @throws Exception
	 */
	boolean internalTradInfoaddorupdate(TradAgentInfo agentInfo,String internalAgentId,String carAgentId,String carSubChannelCode)throws Exception;
	
}
